package cn.zwx.common.limiter.annotation;

import java.lang.annotation.*;

/**
 * @author zhangwenxue
 */
@Target({ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
public @interface LimitRule {

    /**
     * 拦截器空间, 相同空间的限流工具, 共享相同的阈值
     */
    String namespace() default "";

    /**
     * 拦截具体的Key
     */
    String key();

    /**
     * 限流支持类型, 内存(单机): memory, 分布式: redis
     */
    String type() default "memory";

    /**
     * 窗口大小，单位s
     */
    int period() default 1;

    /**
     *  请求上限
     */
    int quota() default 100;



}
